关于vba:运行宏后另存为xlsx文件,然后将宏文件转换为xlsx文件 |
您所在的位置:网站首页 › vba 另存为不带宏xls语句 › 关于vba:运行宏后另存为xlsx文件,然后将宏文件转换为xlsx文件 |
我希望宏将我的xlsm文件备份为xlsx格式,保存为xlsx类型后仍保留在那里。 但是,下面的编码会将现有的xlsm文件转换为xlsx文件,导致我的宏文件消失。 有什么建议可以避免这种情况,我想保存xlsx文件并在保留xlsm文件的同时关闭它? 12345Sub backup() Application.DisplayAlerts = False ThisWorkbook.saveas"C:\\Users\\Documents\\Book1.xlsx", xlOpenXMLWorkbook Application.DisplayAlerts = True End Sub 相关讨论 创建您的.xlsm文件的副本,并将副本作为.xlsx 如何创建副本? 一张一张地复印? 有任何代码可以复制整个excel文件?使用SaveCopyAs。 123456789101112Sub Test() Dim wb As Workbook, wb2 As Workbook Dim Path As String Application.DisplayAlerts = False Path ="C:\\Users\" & Environ("Username") &"\\Desktop\" Set wb = ThisWorkbook wb.SaveCopyAs (Path &"File.xlsm") Set wb2 = Workbooks.Open(Path &"File.xlsm") wb2.SaveAs Path &"File1.xlsx", xlOpenXMLWorkbook wb2.Close Application.DisplayAlerts = True End Sub这会将副本保存到您的桌面,但不会影响您正在使用的工作簿。 相关讨论 它能够在不关闭现有文件的情况下单独保存文件,但是保存的文件无法打开并显示错误"文件格式或文件扩展名无效"。 对于savecopyas,是否需要插入文件格式? 实际上,您只能使用SaveCopyAs保存与原始文件相同的文件格式。 因此您可以创建一个副本,重新打开,然后使用SaveAs并更改文件格式。 将工作簿再次另存为Path &"File1.xlsx"后,是否需要Kill Path &"File.xlsm"才能摆脱临时xlsm文件? 如果我的OneDrive共享了我的xlsm文件,在尝试重新打开文件时其他人会遇到错误吗? @UGP需要确保与我共享的人有权访问目标文件夹,对吗?ThisWorkbook寻址代码所在的工作簿。 如果要保存ActiveWorkbook,则必须将其命名为ActiveWorkbook或使用其名称。 将ThisWorkbook保存为xlsx格式后,代码将无法继续运行。 要执行您打算做的事情,您可以将代码放在第三个文件(如外接程序)中,然后从那里处理工作簿。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |